package CH7.异常演示;


import java.io.FileNotFoundException;
import java.io.IOException;
import java.text.ParseException;

public class Finally代码 {
    public static void main(String[] args) {
        Demo1();
    }
    public static void Demo1() {
        int n = 0,m = 0,t=0;
        try {
            n=10;
            readFile("d:\\fff.tx");
            m=100;//这里的内容，一旦出现异常，就没法执行
        } catch (FileNotFoundException e) {
            System.out.println(e.getMessage());
        }catch (IOException e) {
            //若此异常处理catch子句与上面的catch子句对换，则会出现编译错误
            //因为若果执行了父类异常的捕获，则子类异常不可能再次捕获，则永远没有机会执行
            System.out.println(e.getMessage());
            return;
        }catch (ParseException e) {
            System.out.println(e.getMessage());

        }finally{
            m=200;//这里的内容，不管是否有异常总是会执行
        }
        t=300;
        System.out.println("n="+n+",m="+m+",t="+t);
    }
    public static void readFile(String fileName) throws FileNotFoundException, IOException, ParseException {
       /* if(!fileName.equals("d:\\a.txt")){
            throw new FileNotFoundException("传递的文件路径不是【d:\\a.txt】");
        }*/
        if(!fileName.endsWith(".txt")){
            throw new IOException("文件的后缀名不对");
        }
        if(fileName.equals("d:\\b.txt"))
            throw new ParseException("",5);
        System.out.println("参数正确,读取文件");
    }


}
